home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / tsr / uma11.zip / UMA.DOC < prev    next >
Text File  |  1992-03-02  |  39KB  |  919 lines

  1.  
  2.  
  3.                   Useful Macros (Version 1.1) Documentation
  4.                   =========================================
  5.  
  6.  
  7.      What is Useful Macros?
  8.      ~~~~~~~~~~~~~~~~~~~~~~
  9.  
  10.      Useful Macros is a program that will record and playback key sequences
  11.      on your PC.  Keyboard macros allow you to speed up your work by
  12.      reducing the number of keystrokes required to perform complex or
  13.      repetitive tasks.  Useful Macros allows you to assign a sequence of
  14.      keystrokes to one key or key combination.  This one key to many keys
  15.      relationship is called a "macro".
  16.  
  17.      Almost any key can be redefined to perform one or more commands.  If 
  18.      you were required to use a character string frequently (say the name 
  19.      of your company), you could create a macro that "plays back" that 
  20.      character string at the touch of a single key.  You can also create 
  21.      macros that automatically play back at the start of an application.  
  22.      Frequently used macros can be saved to and loaded from disk files.
  23.  
  24.      Macros are easy to create.  With Useful Macros you can record a series
  25.      of keystrokes from within your application.  When you have finished
  26.      recording, that macro is immediately available for use.  Another way
  27.      you can generate macros is to create a "macro definition" file with
  28.      any ASCII text editor (hopefully Useful Editor).  Utility programs to
  29.      convert "macro files" to and from text files are included with the
  30.      Useful Macros package.
  31.  
  32.      Macros are easy to play back.  When you press a macro's "hot key" (the
  33.      key to which the macro has been assigned) each keystroke, command, or
  34.      instruction is carried out (starting at the current cursor position)
  35.      just as if you typed them yourself.  With Useful Macros another way to
  36.      invoke a macro is to type the first few keys of any macro then press
  37.      the "macro completion" key.  In either case after the macro has run,
  38.      you can resume working in the application as you normally would.
  39.  
  40.  
  41.      Features
  42.      ~~~~~~~~
  43.  
  44.      Useful Macros (Uma) is a small (about 15K) keyboard macro program for
  45.      IBM PCs and compatibles.  Some of Uma's features include:
  46.  
  47.         - run as a TSR or from the command line
  48.         - record and playback keystrokes or use pre-defined macro scripts
  49.         - macro completion
  50.         - support for enhanced keyboards
  51.         - macros can be synchronized with screen events
  52.         - macro files can be loaded and saved "on-the-fly"
  53.         - autostart macro when program loads
  54.         - optionally record the delays between keystrokes
  55.         - optionally record changes to the shift key status
  56.         - macro files can be up to 64K in size
  57.         - easy to use consistent interface
  58.         - user configurable preferences
  59.  
  60.  
  61.  
  62.      System Requirements
  63.      ~~~~~~~~~~~~~~~~~~~
  64.  
  65.      Uma runs on any IBM PC or compatible.  Uma automatically determines
  66.      the type of video card installed and uses the current text mode for
  67.      its menu.  The following video cards (or ones that are compatible)
  68.      are supported:
  69.  
  70.         - Color Graphics Adapter (CGA)
  71.         - Monochrome Graphics Adapter (MGA)
  72.         - Hercules Graphics Adapter (HGA)
  73.         - Enhanced Graphics Adapter (EGA)
  74.         - Video Graphics Array (VGA)
  75.         - Multi-Color Graphics Array (MCGA)
  76.  
  77.      Any monitor that can display text works with Uma.  If you have a color
  78.      monitor and card, you can change the default colors by running
  79.      umacfg.exe (see Configuring Uma).  In addition Uma supports a 43 line
  80.      display on EGA systems and a 28 or 50 line display on VGA systems.
  81.  
  82.      Uma is very small and runs on systems with as little as 128K of
  83.      memory.  Of course the more memory that you have, the larger the macro
  84.      files that you are able to work with (up to 64K).
  85.  
  86.  
  87.      Starting Up Uma
  88.      ~~~~~~~~~~~~~~~
  89.  
  90.      There are two versions of Useful Macros.
  91.  
  92.  
  93.      UMARES will load itself and an associated "macro" file into memory as
  94.      a "terminate and stay resident" program (TSR).  To run Umares, from
  95.      the DOS prompt, type:
  96.  
  97.         umares [<macrofile[.uma]>]
  98.  
  99.      then press the Enter key.  From this point on, any keyboard macro
  100.      defined in the "macrofile" will be available to you.  To remove Umares 
  101.      from memory you must restart your system.
  102.  
  103.  
  104.      UMARUN can be used to execute another application with an associated
  105.      "macro" file.  To run Umarun, from the DOS prompt, type:
  106.  
  107.         umarun <macrofile[.uma]> <application> [<parm1> <parm2>...<parmn>]
  108.  
  109.      then press the Enter key.  The parms above are the application's (if
  110.      any) just as you would type them in at the DOS prompt.  As long as you
  111.      remain in the application you will have access to the macros defined
  112.      in "macrofile.uma".  When you exit the application, Umarun will remove
  113.      itself and the macro file from memory.
  114.  
  115.      For both versions if you do not specify an extension on the macrofile
  116.      name, Uma will assume ".uma".
  117.  
  118.      NOTE: If you already have UMARES in memory it will take override
  119.            UMARUN.
  120.  
  121.  
  122.  
  123.      Command Line Options
  124.      ~~~~~~~~~~~~~~~~~~~~
  125.  
  126.      There are a number of command line parameters that can be used when
  127.      running either Umares or Umarun.
  128.  
  129.      /A     - When this option is used, Uma will immediately "play back"
  130.      (Auto    the FIRST macro found in the macro file.
  131.       Start)
  132.  
  133.      /Bnnnn - Specifies the amount of memory (in characters) to set aside
  134.      (Buffer  for macro files.  If this option is omitted, Useful Macros
  135.       Size)   will set aside enough memory to load the macro file plus
  136.               enough to record about 250 additional keystrokes.  In the
  137.               case of Umares, if /B is not used and there is no macro file,
  138.               only the 250 key "recording buffer" will be allocated.
  139.  
  140.      /D     - Instructs Useful Macros to record the delays between
  141.      (Delay)  keystrokes.  When you play back a macro recorded in this
  142.               manner, the keys will appear at the same speed that you typed
  143.               them in.
  144.  
  145.      /E     - Enable extended keyboard services.  If you have a newer
  146.               machine, you will need to set this switch to use the F11,
  147.               F12, and other extended keys on your keyboard.
  148.  
  149.      /F     - Most applications ask the PC's BIOS service routines if a key
  150.      (Force)  has been typed then make a subsequent request for that key if
  151.               there is one.  Think of this as "on demand".  Some
  152.               applications however, "look" directly at the PC's keyboard
  153.               buffer for keystrokes and "grab" them from the buffer when
  154.               they appear.  Uma defaults to "on demand" mode feeding the
  155.               applications keys when they are requested.  The /F command
  156.               line option can be used to "force" keys directly into the
  157.               keyboard buffer where they can be "seen" by the second type
  158.               of application.  If your application does not work in the
  159.               default mode try the /f option.
  160.  
  161.  
  162.  
  163.      Command Line Options (continued)
  164.      ~~~~~~~~~~~~~~~~~~~~
  165.  
  166.      /S     - Instructs Useful Macros to record any changes to the status
  167.      (Shift   of the shift keys (Ctrl, Alt, Left Shift, and Right Shift).
  168.       Change)
  169.  
  170.  
  171.       EXAMPLES:
  172.  
  173.         umares mymacros
  174.  
  175.             - Loads Uma and the file "mymacros.uma" permanently into memory
  176.               with enough extra space to record an additional 250 keys.
  177.  
  178.         umarun /b5000 /f cmacros /a ued myfile.c
  179.  
  180.             - Loads Uma and the file "cmacros.uma" and then runs the
  181.               program Ued and passes to it the file name myfile.c.  Enough
  182.               room for about 2500 keystrokes has been set aside.  The free
  183.               space for recording additional keystrokes would be 2500 minus
  184.               the number of keys in the "cmacros.uma" file.  Useful Macros
  185.               will "force" keys directly into the keyboard buffer and auto-
  186.               matically "play back" the first macro from "cmacros.uma".
  187.               When you quit Ued, Useful Macros will remove itself and the
  188.               macro file from memory.
  189.  
  190.  
  191.  
  192.      Using Uma
  193.      ~~~~~~~~~
  194.  
  195.      Once Useful Macros has been loaded into memory, you can access the Uma
  196.      menu by pressing Ctrl-Alt-M (the Ctrl, Alt, and M keys at the same
  197.      time).  You should see the line:
  198.  
  199.      Pause  Record  Clear  Load  Save                    Useful Macros v1.0
  200.  
  201.      appear at the top of your screen.  To "hide" the menu and return to
  202.      your application press the Esc key.
  203.  
  204.      Press the first letter of any command (P,R,C,L,S for the main menu) to
  205.      invoke that command.  The commands are:
  206.  
  207.      Pause  - Temporarily suspend the current operation.  If you were
  208.               recording a macro, any keys pressed while "paused" will not
  209.               be added to the macro buffer.  Similarly Pause can be used to
  210.               suspend the "play back" of a macro.  If Pause is invoked at
  211.               any other time, macro "hot keys" and command completion are
  212.               temporarily disabled.  When the Pause key is pressed you are
  213.               immediately returned to your application.  You must "pop up"
  214.               the menu again to resume.
  215.  
  216.      Resume - When Useful Macros has been "Paused" the menu will have only
  217.               one option;
  218.  
  219.               P Resume                                      Status: PAUSED
  220.  
  221.               Press P to resume whatever operation was in effect prior to
  222.               pausing.
  223.  
  224.      Record - Start recording a new macro.  You will be prompted for a key
  225.               to bind the macro to.  This "hot key" can be used to "run"
  226.               the macro at a later time.  Once you assign a key, you are
  227.               immediately returned to your application and recording.  You
  228.               must "pop up" the menu again when you are done.  While Useful
  229.               Macros is "Recording" the only options on the menu will be:
  230.  
  231.               Pause  Stop                                Status: RECORDING
  232.  
  233.               Pause is as described above.  Stop is used to end the macro
  234.               recording session.  Once stopped, the macro you just recorded
  235.               will be available for use by pressing it's "hot key".
  236.  
  237.      Clear  - Clear can be used to erase an existing macro.  You will be
  238.               prompted for the "hot key" of the macro to erase.
  239.  
  240.      Load   - Use the load command to switch to another macro file.  You
  241.               will be prompted for the name of the macro file to load.
  242.               There must be enough memory set aside when you started up Uma
  243.               to load the new macro file or you will get an error.  The new
  244.               file is loaded on top of the old file.
  245.  
  246.      Save   - Save is used to save the macros currently in memory to a disk
  247.               file.  You will be prompted for the disk file name.  If you
  248.               do not include an extension on the file name, ".uma" will be
  249.               added.
  250.  
  251.  
  252.  
  253.      While Running Uma
  254.      ~~~~~~~~~~~~~~~~~
  255.  
  256.      Here are some other things you should know about running Uma.
  257.  
  258.      You can use the Alt+ (Alt and + keys together) as a shortcut to start
  259.      the Recording of a macro.  It's as though you popped up the Uma menu
  260.      then pressed the R key.  Similarly you can use Alt- to stop recording
  261.      a macro.
  262.  
  263.      When you are "playing back" a macros, you can press the Esc key at any
  264.      time to immediately stop the playback.
  265.  
  266.      If the internal buffer becomes full while recording, Useful Macros
  267.      will "beep" each time you press a key.  You should stop the recording,
  268.      save the macros already recorded to a file, and reload Uma and the
  269.      macro file with a larger buffer (using the /b command line argument).
  270.  
  271.      When a key definition for a "hot key" appears in a macro, the key and
  272.      NOT the macro it represents will be played back.
  273.  
  274.      If you need to use a key that has been defined as a "hot key" (even 
  275.      Ctrl-Alt-M) when Useful Macros is active you can:
  276.  
  277.      1) Temporarily disable Uma by Pausing (Ctrl-Alt-M then P), type the
  278.         key, then Resume (Ctrl-Alt-M then P again).
  279.  
  280.      2) Enter the key by holding down the Alt key and typing in its "key
  281.         number" on the keypad.
  282.  
  283.  
  284.      Macro Completion
  285.      ~~~~~~~~~~~~~~~~
  286.  
  287.      When a macro file has been loaded, the macros within can be run by
  288.      pressing their "hot keys", or by using macro completion.
  289.  
  290.      The ` key (single back quote) is used to invoke macro completion.
  291.      When ` is pressed Useful Macros looks at the text in front of the
  292.      current cursor position (up to 10 characters worth by default) and
  293.      tries to match that text against the beginnings of all of the macros
  294.      currently in memory.  If a match is found, the macro is "completed" as
  295.      though the "hot key" had been pressed.
  296.  
  297.      Useful Macros will look for the best match; the one with the MOST
  298.      matching characters.  If two macros match equally well, the one which
  299.      appears first in the macro file will be completed.
  300.  
  301.      To generate the  `  itself in your text file you can:
  302.  
  303.      1) Temporarily disable Uma by Pausing (Ctrl-Alt-M then P).
  304.  
  305.      2) Enter  `  by holding down the Alt key and typing 096 on the keypad.
  306.      
  307.  
  308.  
  309.      Creating Macro Files
  310.      ~~~~~~~~~~~~~~~~~~~~
  311.  
  312.      There are a couple of ways to create a macro file.
  313.  
  314.      The easiest way would be to run Umares with a big enough buffer to
  315.      store all of the macros you want to create.  Each keystroke requires 2
  316.      characters in the buffer.  For example:
  317.  
  318.         umares /b1000
  319.  
  320.      would allocate enough memory to record about 500 keystrokes.
  321.  
  322.      Using the Record command, create the macro definitions.  Then use the
  323.      Save command to copy the definitions to a disk file.
  324.  
  325.      Another way to create a macro file is to start with a text description
  326.      of the macros.  A utility program, "TXT2UMA" has been provided to
  327.      convert properly formatted text files (macro definitions) into macro
  328.      files.  A macro definition file might look something like this:
  329.  
  330.         A macro to type out 2 lines of text.
  331.  
  332.         Macro:<Shift F1>
  333.         This is line one.<Enter>
  334.         This is line two.<Enter>
  335.         Endmacro
  336.  
  337.         A macro to type out column headings.
  338.  
  339.         Macro:<Shift F2>
  340.         <Tab>Column1<Tab><Tab>Column2<Tab><Tab>Column3<Enter><Enter>
  341.         Endmacro
  342.  
  343.      Any text "outside of" the Macro: and Endmacro lines will be treated as 
  344.      comments.  The Macro and Endmacro statements must start in column 1 
  345.      and leading spaces between these two lines will be treated as part of
  346.      the macro itself.  If the above text file were named "mymacros.txt",
  347.      the following command line:
  348.  
  349.         txt2uma mymacros
  350.  
  351.      would create a macro file "mymacros.uma" (with the .txt file
  352.      unchanged).
  353.  
  354.      If you want to alter an existing macro file, the utility "UMA2TXT"
  355.      will convert it into a text file that can be edited with any text
  356.      editor (like Useful Editor).
  357.  
  358.      To convert the macro file "mymacros.uma" into an editable text file
  359.      the the following command line:
  360.  
  361.         uma2txt mymacros
  362.  
  363.      can be used to create the text file "mymacros.txt".
  364.  
  365.      The next 2 sections list the Key Definitions and Key Commands that can
  366.      be used in a "macro definition" text file.
  367.  
  368.  
  369.  
  370.      Key Definitions
  371.      ~~~~~~~~~~~~~~~
  372.  
  373.      The following key definitions can be used when creating a Macro text
  374.      file.
  375.  
  376.       (SOH)        5              i              ¥              ╤
  377.       (STX)        6              j              ₧              ╥
  378.       (ETX)        7              k              ƒ              ╙
  379.       (EOT)        8              l              á              ╘
  380.       (ENQ)        9              m              í              ╒
  381.       (ACK)        :              n              ó              ╓
  382.        (BEL)        ;              o              ú              ╫
  383.        (BS)         <              p              ñ              ╪
  384.        (TAB)        =              q              Ñ              ┘
  385.        (LF)         >              r              ª              ┌
  386.        (VT)         ?              s              º              █
  387.        (FF)         @              t              ¿              ▄
  388.        (CR)         A              u              ⌐              ▌
  389.        (SO)         B              v              ¬              ▐
  390.        (SI)         C              w              ½              ▀
  391.       (DLE)        D              x              ¼              α
  392.        (DC1)        E              y              ¡              ß
  393.       (DC2)        F              z              «              Γ               
  394.       (DC3)        G              {              »              π               
  395.       (DC4)        H              |              ░              Σ               
  396.       (NAK)        I              }              ▒              σ               
  397.       (SYN)        J              ~              ▓              µ               
  398.       (ETB)        K                            │              τ               
  399.       (CAN)        L              Ç              ┤              Φ               
  400.                    M              ü              ╡              Θ               
  401.       (SUB)        N              é              ╢              Ω
  402.        (ESC)        O              â              ╖              δ
  403.       (FS)         P              ä              ╕              ∞
  404.       (GS)         Q              à              ╣              φ               
  405.       (RS)         R              å              ║              ε               
  406.       (US)         S              ç              ╗              ∩               
  407.        (SP)         T              ê              ╝              ≡               
  408.      !              U              ë              ╜              ±               
  409.      "              V              è              ╛              ≥               
  410.      #              W              ï              ┐              ≤               
  411.      $              X              î              └              ⌠               
  412.      %              Y              ì              ┴              ⌡               
  413.      &              Z              Ä              ┬              ÷
  414.      '              [              Å              ├              ≈
  415.      (              \              É              ─              °
  416.      )              ]              æ              ┼              ∙
  417.      *              ^              Æ              ╞              ·
  418.      +              _              ô              ╟              √
  419.      ,              `              ö              ╚              ⁿ
  420.      -              a              ò              ╔              ²
  421.      .              b              û              ╩              ■
  422.      /              c              ù              ╦                (255)
  423.      0              d              ÿ              ╠
  424.      1              e              Ö              ═
  425.      2              f              Ü              ╬
  426.      3              g              ¢              ╧
  427.      4              h              £              ╨
  428.  
  429.  
  430.  
  431.      Key Definitions (Continued)
  432.      ~~~~~~~~~~~~~~~
  433.  
  434.      <Alt '>                  <Alt k>               <Ctrl g>
  435.      <Alt ,>                  <Alt l>               <Ctrl Gray *>
  436.      <Alt ->                  <Alt m>               <Ctrl Gray +>
  437.      <Alt .>                  <Alt n>               <Ctrl Gray ->
  438.      <Alt / NumPad>           <Alt o>               <Ctrl Gray Delete>
  439.      <Alt />                  <Alt p>               <Ctrl Gray Down Arrow>
  440.      <Alt 0>                  <Alt q>               <Ctrl Gray End>
  441.      <Alt 1>                  <Alt r>               <Ctrl Gray Home>
  442.      <Alt 2>                  <Alt s>               <Ctrl Gray Insert>
  443.      <Alt 3>                  <Alt Space>           <Ctrl Gray Left Arrow>
  444.      <Alt 4>                  <Alt t>               <Ctrl Gray Page Down>
  445.      <Alt 5>                  <Alt Tab>             <Ctrl Gray Page Up>
  446.      <Alt 6>                  <Alt u>               <Ctrl Gray Right Arrow>
  447.      <Alt 7>                  <Alt v>               <Ctrl Gray Up Arrow>
  448.      <Alt 8>                  <Alt w>               <Ctrl h>
  449.      <Alt 9>                  <Alt x>               <Ctrl Home>
  450.      <Alt ;>                  <Alt y>               <Ctrl i>
  451.      <Alt =>                  <Alt z>               <Ctrl Ins>
  452.      <Alt a>                  <Alt [>               <Ctrl j>
  453.      <Alt b>                  <Alt \>               <Ctrl k>
  454.      <Alt Backspace>          <Alt ]>               <Ctrl l>
  455.      <Alt c>                  <Alt `>               <Ctrl Left Arrow>
  456.      <Alt d>                  <Backspace>           <Ctrl m>
  457.      <Alt e>                  <BackTab>             <Ctrl n>
  458.      <Alt Enter NumPad>       <Center Key>          <Ctrl o>
  459.      <Alt Enter>              <Ctrl ->              <Ctrl p>
  460.      <Alt F10>                <Ctrl / NumPad>       <Ctrl PgDn>
  461.      <Alt F11>                <Ctrl 2>              <Ctrl PgUp>
  462.      <Alt F12>                <Ctrl 5 NumPad>       <Ctrl PrtSc>
  463.      <Alt F1>                 <Ctrl 6>              <Ctrl q>
  464.      <Alt F2>                 <Ctrl a>              <Ctrl r>
  465.      <Alt F3>                 <Ctrl b>              <Ctrl Right Arrow>
  466.      <Alt F4>                 <Ctrl Backspace>      <Ctrl s>
  467.      <Alt F5>                 <Ctrl c>              <Ctrl Space>
  468.      <Alt F6>                 <Ctrl d>              <Ctrl t>
  469.      <Alt F7>                 <Ctrl Del>            <Ctrl Tab>
  470.      <Alt F8>                 <Ctrl Down Arrow>     <Ctrl u>
  471.      <Alt F9>                 <Ctrl e>              <Ctrl Up Arrow>
  472.      <Alt f>                  <Ctrl End>            <Ctrl v>
  473.      <Alt g>                  <Ctrl Enter NumPad>   <Ctrl w>
  474.      <Alt Gray *>             <Ctrl Enter>          <Ctrl x>
  475.      <Alt Gray +>             <Ctrl Esc>            <Ctrl y>
  476.      <Alt Gray ->             <Ctrl F10>            <Ctrl z>
  477.      <Alt Gray Delete>        <Ctrl F11>            <Ctrl [>
  478.      <Alt Gray Down Arrow>    <Ctrl F12>            <Ctrl \>
  479.      <Alt Gray End>           <Ctrl F1>             <Ctrl ]>
  480.      <Alt Gray Home>          <Ctrl F2>             <Del>
  481.      <Alt Gray Insert>        <Ctrl F3>             <Down Arrow>
  482.      <Alt Gray Left Arrow>    <Ctrl F4>             <End>
  483.      <Alt Gray Page Down>     <Ctrl F4>             <Enter NumPad>
  484.      <Alt Gray Page Up>       <Ctrl F5>             <Enter>
  485.      <Alt Gray Right Arrow>   <Ctrl F6>             <Esc>
  486.      <Alt Gray Up Arrow>      <Ctrl F7>             <F10>
  487.      <Alt h>                  <Ctrl F8>             <F11>
  488.      <Alt i>                  <Ctrl F9>             <F12>
  489.      <Alt j>                  <Ctrl f>              <F1>
  490.  
  491.  
  492.  
  493.      Key Definitions (Continued)
  494.      ~~~~~~~~~~~~~~~
  495.  
  496.      <F2>                     <Shift F9>
  497.      <F3>                     <Shift Gray +>
  498.      <F4>                     <Shift Gray ->
  499.      <F5>                     <Shift Gray />
  500.      <F6>                     <Shift Gray Delete>
  501.      <F7>                     <Shift Gray Down Arrow>
  502.      <F8>                     <Shift Gray End>
  503.      <F9>                     <Shift Gray Home>
  504.      <Gray +>                 <Shift Gray Insert>
  505.      <Gray ->                 <Shift Gray Left Arrow>
  506.      <Gray />                 <Shift Gray Page Down>
  507.      <Gray Delete>            <Shift Gray Page Up>
  508.      <Gray Down Arrow>        <Shift Gray Right Arrow>
  509.      <Gray End>               <Shift Gray Up Arrow>
  510.      <Gray Home>              <Shift Key 45 [5]>
  511.      <Gray Insert>            <Shift Space>
  512.      <Gray Left Arrow>        <Space>
  513.      <Gray Page Down>         <Tab>
  514.      <Gray Page Up>           <Up Arrow>
  515.      <Gray Right Arrow>       
  516.      <Gray Up Arrow>          **** for the HP95 only ****
  517.      <Gray>                   <Filer>
  518.      <Home>                   <Setup>
  519.      <Ins>                    <Ctrl Filer>
  520.      <Key 45 [5]>             <Alt Filer>
  521.      <Left Arrow>             <Ctrl Setup>
  522.      <PgDn>                   <Comm>
  523.      <PgUp>                   <Ctrl Comm>
  524.      <Right Arrow>            <Alt Comm>
  525.      <Shift . NumPad>         <Appt>
  526.      <Shift 0 NumPad>         <Ctrl Appt>
  527.      <Shift 1 NumPad>         <Alt Appt>
  528.      <Shift 2 NumPad>         <Phone>
  529.      <Shift 3 NumPad>         <Ctrl Phone>
  530.      <Shift 4 NumPad>         <Alt Phone>
  531.      <Shift 5 NumPad>         <Memo>
  532.      <Shift 6 NumPad>         <Ctrl Memo>
  533.      <Shift 7 NumPad>         <Alt Memo>
  534.      <Shift 8 NumPad>         <123>
  535.      <Shift 9 NumPad>         <Ctrl 123>
  536.      <Shift Backspace>        <Alt 123>
  537.      <Shift Enter NumPad>     <+-*/>
  538.      <Shift Enter>            <Ctrl +-*/>
  539.      <Shift Esc>              <Alt +-*/>
  540.      <Shift F10>              <Menu>
  541.      <Shift F11>              <Shift Menu>
  542.      <Shift F12>              <Ctrl Menu>
  543.      <Shift F1>               <Alt Menu>
  544.      <Shift F2>               *************************** 
  545.      <Shift F3>
  546.      <Shift F4>
  547.      <Shift F4>
  548.      <Shift F5>
  549.      <Shift F6>
  550.      <Shift F7>
  551.      <Shift F8>
  552.  
  553.  
  554.  
  555.      Key Commands
  556.      ~~~~~~~~~~~~
  557.  
  558.      In addition to the above key definitions the following key commands
  559.      are supported by Useful Macros:
  560.  
  561.      <No Key>   - When this command is encountered within a macro, Uma will
  562.                   simulate and empty keyboard buffer.  This is necessary
  563.                   for some applications that periodically "flush" the key-
  564.                   board buffer.  Can also be used as a "hot key" if the
  565.                   Macro definition will only be used in "macro completion"
  566.                   mode.  You cannot "Clear" a macro that has <No Key> for a
  567.                   "hot key".
  568.  
  569.  
  570.      <Delay:n>  - Delay for "n" tics before playing back the next key.  A
  571.                   tic is the "heartbeat" unit of time used by PCs and is
  572.                   about 1/18 of a second.
  573.  
  574.  
  575.      <Delay All:n>
  576.  
  577.                 - Delay for "n" tics after playing back each key.  This
  578.                   command can be used to "pace" the playback of keystrokes
  579.                   or can be helpful for debugging purposes.  You can
  580.                   disable <Delay All> by specifying a value of 0 for "n".
  581.  
  582.  
  583.      <Pause>    - Pause the playback until ANY key is pressed.
  584.  
  585.  
  586.      <Pause Until:n><key 1><key 2>...<key n>
  587.  
  588.                 - Pause the playback until ONE of the "n" keys that follow
  589.                   are pressed.  All other keys pressed are passed through
  590.                   to the application.
  591.  
  592.  
  593.      <Print Screen>
  594.  
  595.                 - Do a screen dump of the current screen.
  596.  
  597.  
  598.  
  599.  
  600.      Key Commands (Continued)
  601.      ~~~~~~~~~~~~
  602.  
  603.  
  604.      <Alt>      - Change the shift status to simulate an Alt key being
  605.                   pressed.
  606.  
  607.  
  608.      <Ctrl>     - Change the shift status to simulate a Ctrl key being
  609.                   pressed.
  610.  
  611.  
  612.      <Left Shift>
  613.  
  614.                 - Change the shift status to simulate a Left Shift key
  615.                   being pressed.
  616.  
  617.  
  618.      <Right Shift>
  619.  
  620.                 - Change the shift status to simulate a Right Shift key
  621.                   being pressed.
  622.  
  623.  
  624.      <Shift Clear>
  625.  
  626.                 - Clear the shift status.
  627.  
  628.  
  629.      <Match Screen:row,column,text>
  630.  
  631.                 - Wait until the "text" appears on the screen at the
  632.                   location specified by "row" and "column".  The top row
  633.                   and leftmost column of the screen are 1,1 and columns are
  634.                   assumed to be 80 characters wide.  Everything between the
  635.                   second  ,  and the closing  >  including spaces will be
  636.                   treated as the "text" string to be matched.  This feature
  637.                   can be especially useful for applications that clear out
  638.                   the keyboard buffer while waiting for specific events to
  639.                   occur.
  640.  
  641.  
  642.  
  643.  
  644.      A Useful Macros Example
  645.      ~~~~~~~~~~~~~~~~~~~~~~~
  646.  
  647.      If you want to give Useful Macros a test drive, you might try the file
  648.      "mkmacro.uma".  This is a macro file to help you make macro definition
  649.      files.  Here's what to do.
  650.  
  651.      1) Type in the following command at the DOS prompt:
  652.  
  653.            umarun mkmacro <your text editor>
  654.  
  655.         In other words have Umarun load the macro file "mkmacro.uma" then
  656.         run your favorite text editor.
  657.  
  658.      2) Type the letters  ma  then press the  `  (single back quote) key.
  659.         You should see the letters  ma  replaced with the word  Macro:  .
  660.         The  `  key you will recall is the "macro completion" key.
  661.  
  662.      3) Now select a "hot key", say Shift F1.  When you press the key you
  663.         will notice that it's full text description is typed.  If you
  664.         choose Shift F1 you should see the line  Macro:<Shift F1>  .
  665.  
  666.      4) Press the Enter key to advance to the next line.  Notice that the 
  667.         definition <Enter> is NOT typed.  For the convenience of editing 
  668.         the text, the Enter and Backspace keys are not mapped to their key 
  669.         definitions in "mkmacro".  You can however generate an <Enter> by
  670.         typing  en  then pressing the "completion" key (`).  Likewise a
  671.         <Backspace> can be generated by using the  bs  short form.
  672.  
  673.      5) Type in the body of the macro.  Regular text keys (alpha, digits,
  674.         and punctuation) appear as typed.  Special keys (functions, cursor
  675.         controls, and editing) generate their text key definitions.  If you
  676.         want to enter a key command, you can use one of the following short
  677.         forms (along with the "macro completion" feature):
  678.  
  679.         nk - <No Key>
  680.         de - <Delay:n> The macro will wait after the : is typed for you to
  681.              key in the delay time (1-255) then press Enter.
  682.         pa - <Pause>
  683.         pu - <Pause Until:n> The macro will wait after the : is typed for
  684.              you to key in number of keys to pause for (1-255) then press
  685.              Enter.
  686.         ps - <Print Screen>
  687.         sc - <Shift Clear>
  688.         al - <Alt>
  689.         ct - <Ctrl>
  690.         ls - <Left Shift>
  691.         rs - <Right Shift>
  692.         ma - Macro:
  693.         em - Endmacro
  694.  
  695.      6) When you are done, use the  em  short form to end the macro.
  696.         Remember the Endmacro must appear at the beginning of a seperate
  697.         line.
  698.  
  699.      7) Try playing back the macro you have created.
  700.  
  701.      You might want to look at the file "mkmacro.txt" to see how the "short
  702.      forms" and other macros above were created.
  703.      
  704.  
  705.  
  706.      Configuring Uma
  707.      ~~~~~~~~~~~~~~~
  708.  
  709.      A separate program (umacfg.exe) is provided to modify Umares and/or
  710.      Umarun with some of your own preferences.  When you run this Uma
  711.      Configuration, you must ensure that Umares.exe and/or Umarun.exe are
  712.      in the current directory.  Follow the prompts for the configuration
  713.      program.  When you have answered the last question the executable(s)
  714.      will be updated with your selections.
  715.  
  716.      The following user preferences can be configured within Uma:
  717.  
  718.         - video display mode (snowchecked or not)
  719.         - color of normal text
  720.         - color of inverse text
  721.         - number of characters to check for macro completion
  722.  
  723.  
  724.  
  725.      Licensing
  726.      ~~~~~~~~~
  727.  
  728.              The programs and documentation in this archive are
  729.                   Copyright (c) 1991-92 by Useful Software
  730.  
  731.      Uma is a shareware keyboard utility.  This means that you only pay for
  732.      it if you decide to continue using it.  If you don't think that it is
  733.      worth the asking price, delete the program, or better yet give it to
  734.      someone who might find it useful.  However if you do decide to keep
  735.      Uma after a 2 week trial period, please send $10 (see REGISTRATION
  736.      FORM on next page) to:
  737.  
  738.         Useful Software
  739.         340 Dale Crescent
  740.         Waterloo, Ontario
  741.         Canada, N2J 3Y3
  742.  
  743.      The shareware fee pays for unlimited use of Uma by a single person.
  744.      You are allowed (and encouraged) to give away copies of Uma with the
  745.      understanding that each person receiving a copy is under the same
  746.      obligation as you are to send in the shareware fee if they decide to
  747.      keep it.  You can upload THIS VERSION ONLY of Uma to other computer
  748.      systems, either free or commercial, as long as this archive remains
  749.      intact, with the copyright and shareware notices unchanged.
  750.  
  751.      Useful Macros can be installed on LANS.  In such situations I ask only
  752.      that the LAN Administrator estimate the maximum number of people that
  753.      will be making "simultaneous" use of Uma and pay the shareware fee
  754.      based on that estimate.  I do not expect that the limit be closely
  755.      monitored or enforced (I appreciate how much trouble that would be),
  756.      but I do expect that the estimate will be revised (and additional fees
  757.      paid) should a substantial increase in the number of nodes on the LAN
  758.      and Uma usage occur.
  759.  
  760.      No guarantee is made as to the functionality of this software; however
  761.      it has been tested quite thoroughly by a large number of people.  If
  762.      it doesn't do what you want, don't keep it and send no money.
  763.  
  764.      Please support the shareware concept.  Shareware means useful programs
  765.      at a fraction of the cost you might pay for them commercially.  You
  766.      can try-before-you-buy, and you are not subjected to copy protection
  767.      or other atrocities that many software vendors inflict on their
  768.      customers.  Software updates can also be distributed much faster than
  769.      is possible through normal channels.
  770.  
  771.      Any questions, suggestions, or bug reports, can be mailed to the above
  772.      address, or send electronic mail to:
  773.  
  774.              GEnie:   M.GARDI
  775.         CompuServe:   70242,3102
  776.  
  777.  
  778.      Enjoy,
  779.  
  780.      Useful Software
  781.  
  782.  
  783.  
  784.      Registration Information (What do I get if I register!)
  785.      ~~~~~~~~~~~~~~~~~~~~~~~~
  786.  
  787.      All registered users of Useful Macros will receive one update with the
  788.      most recent version of the program.  Subsequent updates are available
  789.      for $3.00 shipping and handling on request.  In addition you will
  790.      receive the latest versions of other Useful Software products for your
  791.      consideration.
  792.  
  793.      Registered users will have access to the Useful Software Support BBS,
  794.      and telephone support.
  795.  
  796.      Discounts are available if you register Useful Macros along with other
  797.      Useful Software products (see price schedule below).  If you are
  798.      already a registered user of another Useful Software product, pay only
  799.      $5.00 to register Useful Macros.
  800.  
  801.  
  802.      Useful Macros Price Schedule
  803.      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  804.  
  805.      1-99  copies  - $10 per copy
  806.      100+  copies  - One time fee of $1000
  807.  
  808.      With each purchased copy of Useful Editor or Useful Notes, the price
  809.      for a copy of Useful Macros is only $5.00.
  810.  
  811.  
  812.      Useful Editor or Notes Price Schedule
  813.      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  814.  
  815.      1-9   copies  - $20 per copy
  816.      10-49 copies  - $15 per copy
  817.      50-99 copies  - $10 per copy
  818.      100+  copies  - One time fee of $1000
  819.  
  820.  
  821.      Useful Editor/Notes Bundled Price Schedule
  822.      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  823.  
  824.      1-9   copies  - $30 per bundle
  825.      10-49 copies  - $25 per bundle
  826.      50-99 copies  - $15 per bundle
  827.      100+  copies  - One time fee of $1500
  828.  
  829.  
  830.      Printed Documentation
  831.      ~~~~~~~~~~~~~~~~~~~~~
  832.  
  833.      Printed copies of the documentation are available for all Useful
  834.      Software products at a cost of $5.00/copy.
  835.  
  836.  
  837.  
  838.      REGISTRATION FORM (English Uma)
  839.      =================
  840.  
  841.  
  842.      TO:                      FROM:
  843.  
  844.      Useful Software             Name: ___________________________________
  845.      340 Dale Crescent
  846.      Waterloo, Ontario      (Company): ___________________________________
  847.      Canada, N2J 3Y3
  848.                               (Title): ___________________________________
  849.  
  850.                               Address: ___________________________________
  851.  
  852.                            City,State: ___________________________________
  853.                                (Prov.)
  854.  
  855.                             Telephone: ___________________________________
  856.  
  857.  
  858.      I AM ALREADY USING:
  859.  
  860.         Useful Editor Version ___.___
  861.  
  862.         Useful Notes  Version ___.___
  863.  
  864.         Useful Macros Version ___.___
  865.  
  866.  
  867.      I WOULD LIKE TO REGISTER:
  868.  
  869.         ____ copies of Useful Macros V1.1   X  $______ per copy = $________
  870.  
  871.         ____ copies of Useful Editor V1.9d  X  $______ per copy = $________
  872.  
  873.         ____ copies of Useful Notes  V1.4   X  $______ per copy = $________
  874.  
  875.  
  876.      I WOULD ALSO LIKE TO RECEIVE:
  877.  
  878.         ____ printed copies of the Macros documentation X $5.00 = $________
  879.  
  880.         ____ printed copies of the Editor documentation X $5.00 = $________
  881.  
  882.         ____ printed copies of the Notes  documentation X $5.00 = $________
  883.  
  884.  
  885.                                                  TOTAL ENCLOSED = $
  886.                                                                    ========
  887.  
  888.  
  889.  
  890.      Signature: ____________________________________
  891.  
  892.  
  893.  
  894.  
  895.      Update Log
  896.      ~~~~~~~~~~
  897.  
  898.      The following changes were made in Version 1.1
  899.  
  900.         - added <Delay All:n> command
  901.         - modified the <No Key> command to simulate an empty keyboard
  902.           buffer
  903.         - added support for keys generated via the Alt-keypad
  904.           (ie. keys with a scan code of 0)
  905.         - fixed an infrequent "hanging" problem with one of the interrupt
  906.           handlers
  907.         - fixed a problem with UMARUN thinking there were parameters to
  908.           the application being run when there were not
  909.         - UMA2TXT and TXT2UMA now understand extended HP95 keystrokes
  910.  
  911.  
  912.      Planned Enhancements
  913.      ~~~~~~~~~~~~~~~~~~~~
  914.  
  915.         - add number of keystrokes left in the buffer to the RECORDING
  916.           status
  917.         - add "call" and "chain" key commands so that macros can be
  918.           combined
  919.